package com.qdc.datacenters.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qdc.datacenters.domain.query.rule.ChatMsgTimeoutListQuery;
import com.qdc.datacenters.domain.query.statistics.StatisticsQuery;
import com.qdc.datacenters.domain.query.statistics.TimeoutStatisticsQuery;
import com.qdc.datacenters.domain.vo.rule.GroupTimeoutListVo;
import com.qdc.datacenters.domain.vo.rule.SingleTimeoutListVo;
import com.qdc.datacenters.domain.vo.statistics.GroupTimeoutRankVo;
import com.qdc.datacenters.domain.vo.statistics.SingleTimeoutRankVo;
import com.qdc.datacenters.domain.vo.statistics.TimeoutStatisticsListVo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import com.qdc.datacenters.domain.entity.ChatMsgRuleMsg;

import java.util.List;

/**
 * 超时规则会话表(ChatMsgRuleMsg)表数据库访问层
 *
 * @author danmo
 * @since 2024-03-18 16:34:47
 */
@Repository()
@Mapper
public interface ChatMsgRuleMsgMapper extends BaseMapper<ChatMsgRuleMsg> {

    List<SingleTimeoutListVo> getSingleTimeOutList(ChatMsgTimeoutListQuery query);

    List<GroupTimeoutListVo> getGroupTimeOutList(ChatMsgTimeoutListQuery query);

    List<SingleTimeoutRankVo> singleTimeoutRank(StatisticsQuery query);

    List<GroupTimeoutRankVo> groupTimeoutRank(StatisticsQuery query);

    List<TimeoutStatisticsListVo> timeoutStatistic(TimeoutStatisticsQuery query);
}

